import akshare as ak
from utils.pd_show_utils import df_table


def get_money_stream_in(symbol="即时", order_by='净额', ascending=False, topk=10, pp=False):
    """
    目标地址: https://data.10jqka.com.cn/funds/hyzjl/#refCountId=data_55f13c2c_254
    描述: 同花顺-数据中心-资金流向-行业资金流
    :param symbol : “即时”, "3日排行", "5日排行", "10日排行", "20日排行"
    :param order_by : 结果按什么字段排序
    :param ascending ：排序方式
    :param topk :默认前几个结果
    :param pp: 是否打印

    :return:
    """
    stock_fund_flow_concept_df = ak.stock_fund_flow_concept(symbol=symbol)
    concepts_steam_in = stock_fund_flow_concept_df.sort_values(order_by, ascending=ascending)[0:topk]
    if pp:
        df_table(concepts_steam_in)
    return concepts_steam_in
    # list1 = concepts_steam_in['行业']


def get_one_hs_cov_history(symbol, pp=False):
    """
    使用akshare接口获取指定可转债的历史数据
    无历史数据akshare接口会报错，返回空df
    :param pp: 是否打印
    :param symbol:可转债代码 "sh110033"
    :return:返回PD 或 失败的可转债代码
    """
    try:
        bond_zh_hs_cov_daily = ak.bond_zh_hs_cov_daily(symbol=symbol)
    except KeyError:
        return symbol  # pd.DataFrame()
    if isinstance(bond_zh_hs_cov_daily, str):
        return symbol  # pd.DataFrame()
    else:
        if pp:
            df_table(bond_zh_hs_cov_daily)
        return bond_zh_hs_cov_daily


if __name__ == '__main__':
    # get_money_stream_in(topk=-1,pp=True)
    # get_one_hs_cov_history(symbol='sh110033',pp=True)
    df_table(ak.stock_yjyg_em(date="20240630"))